package proyecto.DataAccessObject;

import java.util.List;

import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import proyecto.EntityBeans.AlumnoActividadEvaluacion;

@Stateless
@Remote(AlumnoActividadEvaluacionDAORemote.class)
public class AlumnoActividadEvaluacionDAO implements AlumnoActividadEvaluacionDAORemote{

	@PersistenceContext
	EntityManager entityManager;


	public int save (AlumnoActividadEvaluacion alumnoActividadEvaluacion){		
		try{			
			entityManager.persist(alumnoActividadEvaluacion);			
		} 
		catch(Exception e){
			e.printStackTrace();
		}
		
		return alumnoActividadEvaluacion.getIdAAE();
	}
	

	public AlumnoActividadEvaluacion findByIdAAE(int id) {
		return entityManager.find(AlumnoActividadEvaluacion.class, id);
		
	}
	
		
	public void merge(AlumnoActividadEvaluacion alumnoActividadEvaluacion) {
		try{						
			entityManager.merge(alumnoActividadEvaluacion);
		} 
		catch(Exception e){
			e.printStackTrace();
		}
	}
			
	public List findAll() {		
		return entityManager.createQuery("from AlumnoActividadEvaluacion").getResultList();
	}
	
	public List findByid(int idAlumno, int idActividad, int idEvaluacion) {		
		return entityManager.createQuery("select a from AlumnoActividadEvaluacion a where a.alumno.idAlumno = :idAlumno and a.actividad.idActividad = :idActividad and a.evaluacion.idEvaluacion = :idEvaluacion").setParameter("idAlumno", idAlumno).setParameter("idActividad", idActividad).setParameter("idEvaluacion", idEvaluacion).getResultList();
	}
		
	public void remove(int idAlumnoActividadEvaluacion){	
		entityManager.remove(entityManager.find(AlumnoActividadEvaluacion.class, idAlumnoActividadEvaluacion));
	}
}
